home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 261_01 / test.sa < prev   
Text File  |  1988-02-23  |  1KB  |  36 lines

  1. * test.sa - test file for as68... bubble sort
  2. * (from example 5-4 of Leo Scanlon's "The 68000: Principles and Programming")
  3. *
  4.     ORG    $4000
  5.  
  6. sort    nop                first part of program
  7.     link    a3,#-20            try the link instruction
  8.     movem.l    d0-d3/a0/a1,-(sp)
  9.     clr.b    temp1            exchange flag = 0
  10.     move    (a0)+,d3        load word count to d3
  11. loop    move.l    a0,a1            load elt. addr. into a1
  12.     subq    #1,d3            decrement word count
  13.     move    d3,d0            and load it into counter
  14. comp    move    (a1)+,d2        fetch word to d2
  15.     cmp    (a1),d2            is next .gt. this?
  16.     bls.s    decctr            yes, continue
  17.     move    (a1),-2(a1)        else no - exchange these two
  18.     move    d2,(a1)
  19.     tas    temp1            turnn on exchange flag
  20. decctr    dbf    d0,comp            end?
  21.     not.b    temp1            yes - exchange is over
  22.     bpl.s    loop            if so, start over
  23.     movem.l    (sp)+,d0-d3/a0/a1    restore scratch
  24. done    rts                exit
  25.  
  26. temp    dc.l    1234
  27. temp1    dc.w    9876
  28.     dc.b    12
  29.     dc.b    15
  30.     dc.b    'Hello there ASCII text! How''s things?'
  31.     ds.w    0
  32.     dc.w    100
  33.  
  34.     END
  35.  
  36.